In many types of computer networks, it is desirable to be able to perform certain management related functions on processing system from a remote location. For example, a business enterprise may operate a large computer network that includes numerous client and server processing systems (hereinafter “clients” and “servers”, respectively). With such a network, it may be desirable to allow a network administrator to perform or control various functions on the clients and/or servers from a remote console via the network, such as monitoring various functions and conditions in these devices, configuring the devices, performing diagnostic functions, debugging, software upgrades, etc. To facilitate explanation, such functions are referred to collectively and individually as “management functions”.
One particular application in which it is desirable to have this capability is in a storage-oriented network, i.e., a network that includes one or more storage servers that store and retrieve data on behalf of one or more clients. Such a network may be used, for example, to provide multiple users with access to shared data or to backup mission critical data. An example of such a network is illustrated in FIG. 1.
In FIG. 1, a storage server 2 is coupled locally to a storage subsystem 4, which includes a set of mass storage devices, and to a set of clients 1 through a network 3, such as a local area network (LAN) or wide area network (WAN). The storage server 2 operates on behalf of the clients 1 to store and manage shared files or other units of data (e.g., blocks) in the set of mass storage devices. Each of the clients 1 may be, for example, a conventional personal computer (PC), workstation, or the like. The storage subsystem 4 is managed by the storage server 2. The storage server 2 receives and responds to various read and write requests from the clients 1, directed to data stored in, or to be stored in, the storage subsystem 4. The mass storage devices in the storage subsystem 4 may be, for example, conventional magnetic disks, optical disks such as CD-ROM or DVD based storage, magneto-optical (MO) storage, or any other type of non-volatile storage devices suitable for storing large quantities of data. The mass storage devices may be organized into one or more volumes of Redundant Array of Inexpensive Disks (RAID).
Also shown in FIG. 1 is an administrative console 5 coupled to the storage server 2. The storage server 2 in this configuration includes a communication port (e.g., RS-232) and appropriate software to allow direct communication between the storage server 2 and the administrative console 5 through a transmission line. This configuration enables a network administrator to perform at least some of the types of management functions mentioned above on the storage server 2. Filer products made by Network Appliance, Inc. of Sunnyvale, Calif., are an example of storage servers which has this type of capability.
In the illustrated configuration, the administrative console 5 must be directly coupled to the storage server 2 and must be local to the storage server 2. This limitation is disadvantageous, in that it may be impractical or inconvenient to locate the administrative console 5 close to the storage server 2. Further, this configuration makes it difficult or impossible to use the same administrative console to manage multiple devices on a network.
Technology does exist to enable management functions to be performed on a computer system remotely via a network. In one approach, a device known as a remote management module (RMM) is incorporated into a processing system to enable remote management of the processing system (referred to as the “host” processing system) via a network. The RMM is often in the form of a dedicated circuit card separate from the other elements of the host processing system. The RMM normally has a network interface that connects to the network and a separate internal interface that connects to one or more components of the processing system. The RMM typically includes control circuitry (e.g., a microprocessor or microcontroller) which is programmed or otherwise configured to respond to commands received from a remote administrative console via the network and to perform at least some of the management functions mentioned above.
One shortcoming of known RMM technology is that the internal interface between the RMM and the host processing system, as well as the software on the RMM, are generally customized for a particular design of host processing system. As a result, it tends to be complicated and expensive to port to an existing RMM design to a different design of host processing system. Furthermore, upgrades or other design changes to the RMM tend to be difficult and expensive.
Hence, it would be desirable to have remote management technology which enables remote management functions on a processing system, such as a storage server, where the remote management technology is more platform-independent, and thus, more readily usable with multiple host processing system designs.